﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000FD5 RID: 4053
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RogueTalentInfo : IMessage<RogueTalentInfo>, IMessage, IEquatable<RogueTalentInfo>, IDeepCloneable<RogueTalentInfo>, IBufferMessage
	{
		// Token: 0x17003345 RID: 13125
		// (get) Token: 0x0600B549 RID: 46409 RVA: 0x001E9317 File Offset: 0x001E7517
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RogueTalentInfo> Parser
		{
			get
			{
				return RogueTalentInfo._parser;
			}
		}

		// Token: 0x17003346 RID: 13126
		// (get) Token: 0x0600B54A RID: 46410 RVA: 0x001E931E File Offset: 0x001E751E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RogueTalentInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17003347 RID: 13127
		// (get) Token: 0x0600B54B RID: 46411 RVA: 0x001E9330 File Offset: 0x001E7530
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RogueTalentInfo.Descriptor;
			}
		}

		// Token: 0x0600B54C RID: 46412 RVA: 0x001E9337 File Offset: 0x001E7537
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTalentInfo()
		{
		}

		// Token: 0x0600B54D RID: 46413 RVA: 0x001E934C File Offset: 0x001E754C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTalentInfo(RogueTalentInfo other) : this()
		{
			this.status_ = other.status_;
			this.talentId_ = other.talentId_;
			this.rogueUnlockProgressList_ = other.rogueUnlockProgressList_.Clone();
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600B54E RID: 46414 RVA: 0x001E9399 File Offset: 0x001E7599
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTalentInfo Clone()
		{
			return new RogueTalentInfo(this);
		}

		// Token: 0x17003348 RID: 13128
		// (get) Token: 0x0600B54F RID: 46415 RVA: 0x001E93A1 File Offset: 0x001E75A1
		// (set) Token: 0x0600B550 RID: 46416 RVA: 0x001E93A9 File Offset: 0x001E75A9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTalentStatus Status
		{
			get
			{
				return this.status_;
			}
			set
			{
				this.status_ = value;
			}
		}

		// Token: 0x17003349 RID: 13129
		// (get) Token: 0x0600B551 RID: 46417 RVA: 0x001E93B2 File Offset: 0x001E75B2
		// (set) Token: 0x0600B552 RID: 46418 RVA: 0x001E93BA File Offset: 0x001E75BA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint TalentId
		{
			get
			{
				return this.talentId_;
			}
			set
			{
				this.talentId_ = value;
			}
		}

		// Token: 0x1700334A RID: 13130
		// (get) Token: 0x0600B553 RID: 46419 RVA: 0x001E93C3 File Offset: 0x001E75C3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<RogueUnlockProgress> RogueUnlockProgressList
		{
			get
			{
				return this.rogueUnlockProgressList_;
			}
		}

		// Token: 0x0600B554 RID: 46420 RVA: 0x001E93CB File Offset: 0x001E75CB
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RogueTalentInfo);
		}

		// Token: 0x0600B555 RID: 46421 RVA: 0x001E93DC File Offset: 0x001E75DC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RogueTalentInfo other)
		{
			return other != null && (other == this || (this.Status == other.Status && this.TalentId == other.TalentId && this.rogueUnlockProgressList_.Equals(other.rogueUnlockProgressList_) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600B556 RID: 46422 RVA: 0x001E943C File Offset: 0x001E763C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.Status != RogueTalentStatus.Lock)
			{
				num ^= this.Status.GetHashCode();
			}
			if (this.TalentId != 0U)
			{
				num ^= this.TalentId.GetHashCode();
			}
			num ^= this.rogueUnlockProgressList_.GetHashCode();
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600B557 RID: 46423 RVA: 0x001E94A8 File Offset: 0x001E76A8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600B558 RID: 46424 RVA: 0x001E94B0 File Offset: 0x001E76B0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600B559 RID: 46425 RVA: 0x001E94BC File Offset: 0x001E76BC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Status != RogueTalentStatus.Lock)
			{
				output.WriteRawTag(64);
				output.WriteEnum((int)this.Status);
			}
			if (this.TalentId != 0U)
			{
				output.WriteRawTag(88);
				output.WriteUInt32(this.TalentId);
			}
			this.rogueUnlockProgressList_.WriteTo(ref output, RogueTalentInfo._repeated_rogueUnlockProgressList_codec);
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600B55A RID: 46426 RVA: 0x001E9528 File Offset: 0x001E7728
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.Status != RogueTalentStatus.Lock)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Status);
			}
			if (this.TalentId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.TalentId);
			}
			num += this.rogueUnlockProgressList_.CalculateSize(RogueTalentInfo._repeated_rogueUnlockProgressList_codec);
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600B55B RID: 46427 RVA: 0x001E9594 File Offset: 0x001E7794
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RogueTalentInfo other)
		{
			if (other == null)
			{
				return;
			}
			if (other.Status != RogueTalentStatus.Lock)
			{
				this.Status = other.Status;
			}
			if (other.TalentId != 0U)
			{
				this.TalentId = other.TalentId;
			}
			this.rogueUnlockProgressList_.Add(other.rogueUnlockProgressList_);
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600B55C RID: 46428 RVA: 0x001E95F5 File Offset: 0x001E77F5
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600B55D RID: 46429 RVA: 0x001E9600 File Offset: 0x001E7800
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 64U)
				{
					if (num != 88U)
					{
						if (num != 122U)
						{
							this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
						}
						else
						{
							this.rogueUnlockProgressList_.AddEntriesFrom(ref input, RogueTalentInfo._repeated_rogueUnlockProgressList_codec);
						}
					}
					else
					{
						this.TalentId = input.ReadUInt32();
					}
				}
				else
				{
					this.Status = (RogueTalentStatus)input.ReadEnum();
				}
			}
		}

		// Token: 0x04004947 RID: 18759
		private static readonly MessageParser<RogueTalentInfo> _parser = new MessageParser<RogueTalentInfo>(() => new RogueTalentInfo());

		// Token: 0x04004948 RID: 18760
		private UnknownFieldSet _unknownFields;

		// Token: 0x04004949 RID: 18761
		public const int StatusFieldNumber = 8;

		// Token: 0x0400494A RID: 18762
		private RogueTalentStatus status_;

		// Token: 0x0400494B RID: 18763
		public const int TalentIdFieldNumber = 11;

		// Token: 0x0400494C RID: 18764
		private uint talentId_;

		// Token: 0x0400494D RID: 18765
		public const int RogueUnlockProgressListFieldNumber = 15;

		// Token: 0x0400494E RID: 18766
		private static readonly FieldCodec<RogueUnlockProgress> _repeated_rogueUnlockProgressList_codec = FieldCodec.ForMessage<RogueUnlockProgress>(122U, RogueUnlockProgress.Parser);

		// Token: 0x0400494F RID: 18767
		private readonly RepeatedField<RogueUnlockProgress> rogueUnlockProgressList_ = new RepeatedField<RogueUnlockProgress>();
	}
}
